#!/bin/bash
#
# Init file for Monit process monitor.
#
# Written by Dag Wieers <dag@wieers.com>.
# Adapted for Slackware by Eric Hameleers <alien@slackware.com>
#

### Default variables
CONFIG="/etc/monit.conf"
PIDFILE="/var/run/monit.pid"

[ -x /usr/bin/monit ] || exit 1
[ -r "$CONFIG" ] || exit 1

RETVAL=0
prog="monit"
desc="Process Monitor"

start() {
  echo "Starting $desc ($prog):  /etc/rc.d/rc.$prog start"
  $prog -c $CONFIG -p $PIDFILE
  return $?
}

stop() {
  echo "Shutting down $desc ($prog)..."
  if [ -f $PIDFILE ]; then
    kill -TERM $(cat $PIDFILE)
  else
    killall -TERM $prog
  fi
  return $?
}

restart() {
  stop
  start
}

reload() {
  echo "Reloading $desc ($prog)"
  $prog -c $CONFIG reload
  return $?
}

status() {
  PIDS=$(pidof $prog)
  if [ "$PIDS" == "" ]; then
    echo "$prog is not running!"
  else
    echo "$prog is running at pid(s) ${PIDS}."
  fi
  return $?
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  reload)
    reload
    ;;
  status)
    status
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|reload|status}"
esac

